#include<iostream>
using namespace std;
int ab(int x)
{
	return (x>0)?x:-x;
}
int main()
{
	int n,i,j,t,k,c1,c2,a[8][8]={0},b[8][8]={0};
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=5;j++)
			for(k=1;k<=6;k++)
				cin>>a[j][k];
		cout<<"PUZZLE #"<<i<<endl;
		c1=a[1][1]+a[1][2]+a[2][1];
		c2=a[5][1]+a[5][2]+a[4][1];
		for(b[1][1]=0;b[1][1]<=1;b[1][1]++)
			for(b[1][2]=0;b[1][2]<=1;b[1][2]++)
				for(b[1][3]=0;b[1][3]<=1;b[1][3]++)
					for(b[5][1]=0;b[5][1]<=1;b[5][1]++)
						for(b[5][2]=0;b[5][2]<=1;b[5][2]++)
							for(b[5][3]=0;b[5][3]<=1;b[5][3]++)
							{
								if(ab(b[5][1]+b[5][3]-c2)%2!=ab(b[1][1]+b[1][3]-c1)%2) continue;
								b[3][1]=ab(b[1][1]+b[1][3]-c1)%2;
								b[2][1]=ab(a[1][1]-b[1][2]-b[1][1])%2;
								b[4][1]=ab(a[5][1]-b[5][1]-b[5][2])%2;
								b[2][2]=ab(a[1][2]-b[1][1]-b[1][3]-b[1][2])%2;
								b[4][2]=ab(a[5][2]-b[5][1]-b[5][2]-b[5][3])%2;
								b[3][2]=ab(a[3][1]-b[2][1]-b[3][1]-b[4][1])%2;
								b[2][3]=ab(a[2][2]-b[1][2]-b[2][1]-b[3][2]-b[2][2])%2;
								b[4][3]=ab(a[4][2]-b[5][2]-b[4][1]-b[3][2]-b[4][2])%2;
								b[3][3]=ab(a[3][2]-b[4][2]-b[2][2]-b[3][2]-b[3][1])%2;
								for(j=4;j<=6;j++)
									for(k=1;k<=5;k++)
										b[k][j]=ab(a[k][j-1]-b[k][j-2]-b[k][j-1]-b[k-1][j-1]-b[k+1][j-1])%2;
								t=1;
								for(j=1;j<=5;j++)
									if((b[j][5]+b[j-1][6]+b[j+1][6]+b[j][6]-a[j][6])%2!=0)
									{
										t=0;
										break;
									}
								if(t==1)
								{
								    for(j=1;j<=5;j++)
									{
									    for(k=1;k<=6;k++)
										    cout<<b[j][k]<<' ';
									    cout<<endl;
									}
									goto label;
								}
							}
label:	c1++;
	}
	return 0;
}
